#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll x[100005],y;
int main()
{
  int n,k,l=0;
  ll sum=0,ans=0,mi=1e9;
  cin>>k>>n;
  for(int i=0;i<k;i++){
    cin>>x[i]>>y;
    sum+=x[i];  //统计所有第一次击败怪兽的能量和
    if(i<k-1)
      mi=min(mi,y); //寻找除去最后一只怪兽后续击败所需的最小能量
  }
  sort(x,x+k-1);//对除去最后一只怪兽能量值进行排序
  for(int i=0;i<k-1;i++){
    if(x[i]<=mi && l<n) ans+=x[i],l++; //统计小于后续击败所需最小能量的第一次能量和，并记录兽之泪
    else break;
  }
  ans+=(n-l)*mi; //没有击败怪兽之王的最少能量
  if(n>=k) 
    ans=min(ans,sum+(n-k)*y); //判断击败怪兽之王以后能量是否更少
  cout<<ans<<endl;
  return 0;
}